$(document).ready(function () {
  var table = $('table#table').DataTable({
      initComplete: function(settings, json) {
          $("#table").removeClass('dataTable');
          $("#table").parent().addClass('table-responsive');

          $("#table").parent()
              .css('max-height', $(window).height() - $('#query-area').height() - 260)
              .css('height', 'auto')
              .css('overflow-y', 'visible');

          $("#table").on('change', 'input[type="checkbox"]', function () {
              if($(this).prop('checked')) {
                  $(this).closest('tr').addClass('warning');
              } else {
                  $(this).closest('tr').removeClass('warning');
              }
          });

          // 动态添加搜索条件行间距样式
          $('<style>').text(`#query-area .form-group {margin-bottom: 15px;}`).appendTo('head');
          // 动态添加表头居中样式
          $('<style>').text('#table thead th { text-align: center !important; }').appendTo('head');

          // 添加行点击事件处理
          $("#table tbody").on('click', 'tr', function(e) {
              // 避免点击复选框本身时触发两次
              if (!$(e.target).is('input[type="checkbox"]')) {
                  // 找到当前行的复选框
                  var checkbox = $(this).find('input[type="checkbox"]').first();
                  // 切换复选框状态
                  checkbox.prop('checked', !checkbox.prop('checked'));
                  // 触发change事件以更新行样式
                  checkbox.trigger('change');
              }
          });
      },
    ajax: {
      url: baseUrl + '/datatable',
      data : function(d) {

        var mat            = $('.search-form').find('input[name="material"]').val();
        var wbsnum         = $('.search-form').find('input[name="wbsnum"]').val();
        var sup            = $('.search-form').find('input[name="suplier"]').val();
        var docnum         = $('.search-form').find('input[name="docnum"]').val();
        var taskcode       = $('.search-form').find('input[name="taskcode"]').val();

        var biztype        = $('.search-form').find('select#biztype').val();
        var transtype      = $('.search-form').find('select#transtype').val();
        var recvstate      = $('.search-form').find('select#revstate').val();

        d.material      = mat;
        d.udf03         = wbsnum;
        d.supplier      = sup;
        d.docnum        = docnum;
        d.reftasknum    = taskcode;
        d.type          = transtype;
        d.recvstate     = recvstate;
        d.udf16         = biztype;
        //d.udf17         = xwmslotnum;

		return d;
      }
    },
    order: [
      [1, 'desc']
    ],
    columns: [{
      data: 'id',
      sortable: false,
      defaultContent: '',
      'class': 'text-center',
      render: function (data, type, row, meta) {
          return '<input type="checkbox" name="ids" value="' + data + '" style="transform: scale(1.5);"/>'
      }
     },{
      name: 'createdDate',
      data: 'createdDate',
        'class': 'text-center',
    },{
      name: 'transType',
      data: 'transType',
        'class': 'text-center',
      render: function (data, type, row, meta) {
          if (data=='RECV'){ return '收';}
          if (data=='SHIP'){ return '发';}
      }
    },{
      name: 'materialCode',
      data: 'materialCode',
        'class': 'text-center',
    },{
      name: 'materialName',
      data: 'materialName',
        'class': 'text-center',
    },{
      name: 'udf03',
      data: 'udf03',
        'class': 'text-center',
    },{
      name: 'supplierCode',
      data: 'supplierCode',
        'class': 'text-center',
    },{
     name: 'qtyTrans',
     data: 'qtyTrans',
        'class': 'text-center',
    },{
     name: 'refTaskNumber',
     data: 'refTaskNumber',
        'class': 'text-center',
    },{
     name: 'udf17',
     data: 'udf17',
        'class': 'text-center',
    },{
     name: 'documentNumber',
     data: 'documentNumber',
        'class': 'text-center',
    },{
     name: 'ediReceiveStatus',
     data: 'ediReceiveStatus',
        'class': 'text-center',
     render: function (data, type, row, meta) {
       return VALUES_MAP_DICT_TRANS_STATUS && VALUES_MAP_DICT_TRANS_STATUS[data] ? VALUES_MAP_DICT_TRANS_STATUS[data].text : '完成';
     }
    },{
     name: 'ediReceiveMessage',
     data: 'ediReceiveMessage'
    },{
     name: 'notes',
     data: 'notes'
    },{
      data: "id",
      defaultContent: '',
      sortable: false,
      'class': 'text-center',
      render: function (data, type, row, meta) {
        return ('<div class="btn-group">' +
          // '<a  class="btn btn-default btn-xs" title="修改" href="' + baseUrl + '/edit/' + row.id + '"><i class="fa fa-edit"></i></a>' +
          '<a class="btn btn-default btn-xs del" title="删除" href="#"><i class="fa fa-trash-o"></i></a>' +
          '</div>' +
          '&nbsp;&nbsp;');
      }
    }]
  });

    $(".btn.repostreqAll").on("click", function (e) {
        var ids = [];
        $('#table>tbody input:checked').each(function (i, item) {
            ids.push($(item).val());
        });
        $("#repostreqForm #ids").val(ids.join(","));
        if (ids.length > 0) {
            bootbox.confirm("确定要重传选中的数据吗?", function (result) {
                if (result) {
                    $("#repostreqForm").submit();
                }
            });
        } else {
            bootbox.alert("请选择要重传的数据.");
        }
    });

    $(".btn.repostAll").on("click", function (e) {
        var ids = [];
        $('#table>tbody input:checked').each(function (i, item) {
            ids.push($(item).val());
        });
        $("#repostForm #ids").val(ids.join(","));
        if (ids.length > 0) {
            bootbox.confirm("确定要重传选中的数据吗?", function (result) {
                if (result) {
                    $("#repostForm").submit();
                }
            });
        } else {
            bootbox.alert("请选择要重传的数据.");
        }
    });


    $(".btn.closereqAll").on("click", function (e) {
        var ids = [];
        $('#table>tbody input:checked').each(function (i, item) {
            ids.push($(item).val());
        });
        $("#closereqForm #ids").val(ids.join(","));
        if (ids.length > 0) {
            bootbox.confirm("确定要标记完成选中的数据吗?", function (result) {
                if (result) {
                    $("#closereqForm").submit();
                }
            });
        } else {
            bootbox.alert("请选择要标记完成的数据.");
        }
    });

    $(".btn.closeAll").on("click", function (e) {
        var ids = [];
        $('#table>tbody input:checked').each(function (i, item) {
            ids.push($(item).val());
        });
        $("#closeForm #ids").val(ids.join(","));
        if (ids.length > 0) {
            bootbox.confirm("确定要标记选中的数据为完成吗?", function (result) {
                if (result) {
                    $("#closeForm").submit();
                }
            });
        } else {
            bootbox.alert("请选择要完成的数据.");
        }
    });

        //导出 动态组织form提交
    $(".btn.export").on("click", function (e) {
        $("#exportForm .param").remove();
          var $frm = $("#exportForm");
    　　　 var array = $('.search-form').serializeArray();
    　　　 for (i = 0, length = array.length; i < length; i++) {
        　　　key = array[i].name;
             value = array[i].value;
             $frm.append($('<input class="param" type="hidden" name = "' + key + '" value = "' + value + '" />'));
         }
        var params = table.ajax.params();
        $frm.append($('<input class="param" type="hidden" name="input" value = \'' + JSON.stringify(params) + '\' />'));
        $frm.submit();
        // 阻止默认行为
        e.preventDefault();
        return false;
    });


    table.on('click', '.del', function () {
        var id = table.row($(this).parents('tr')).data().id;
        $("#delForm #ids").val(id);
        if (id) {
            bootbox.confirm("确定要删除数据吗?", function (result) {
                if (result) {
                    $("#delForm").submit();
                }
            });
        }
    });

    $(".btn.delAll").on("click", function (e) {
        var ids = [];
        $('#table>tbody input:checked').each(function (i, item) {
            ids.push($(item).val());
        });
        $("#delForm #ids").val(ids.join(","));
        if (ids.length > 0) {
            bootbox.confirm("确定要删除选中的数据吗?", function (result) {
                if (result) {
                    $("#delForm").submit();
                }
            });
        } else {
            bootbox.alert("请选择要删除的数据.");
        }
    });

    table.on('click', '.enable', function () {
        var that = this;
        var data = table.row($(this).parents('tr')).data();
        var id = data.id;
        var enabled = data.enabled;
        bootbox.confirm("确定要更新选中的数据吗?", function(resul) {
            if (resul) {
                $.get(baseUrl + "/enable", {
                    enabled: !enabled,
                    ids: id
                }, function (res) {
                    if (res) {
                        data.enabled = !enabled;
                        $(that).find("i").removeClass("fa-" + (enabled ? "check-" : "") + "square-o").addClass("fa-" + (!enabled ? "check-" : "") + "square-o");
                        toastr.info('操作成功!');
                    }

                });
            }});
    });


    $('.search-form').on("submit", function (e) {
    table.draw();
    //阻止表单submit
    return false;
  });

});
